﻿using System;
using System.Collections;
using Huirui.Cavan.Domain.MainBoundedContext.SystemModule;
using Huirui.Cavan.Domain.Seedwork;

namespace Huirui.Cavan.Domain.MainBoundedContext.StockModule
{
    #region StockInitialBalance

    /// <summary>
    /// StockInitialBalance object for NHibernate mapped table 'StockInitialBalance'.
    /// </summary>
    [Serializable]
    public class StockInitialBalance : Persistent<long>
    {
        #region Member Variables

        protected DateTime _initialDate;
        protected decimal _number;
        protected decimal _unitCost;
        protected Corporation _corporation;
        protected Stock _stock;
        protected WareHouse _wareHouse;

        #endregion

        #region Constructors

        public StockInitialBalance() { }

        public StockInitialBalance(DateTime initialDate, decimal number, decimal unitCost, Corporation corporation, Stock stock, WareHouse wareHouse, DateTime createDate, DateTime modifyDate, int editUser)
        {
            this._initialDate = initialDate;
            this._number = number;
            this._unitCost = unitCost;
            this._wareHouse = wareHouse;
            this._corporation = corporation;
            this._stock = stock;
            this._createDate = createDate;
            this._modifyDate = modifyDate;
            this._editUser = editUser;
        }

        #endregion

        #region Public Properties


        public virtual DateTime InitialDate
        {
            get { return _initialDate; }
            set { _initialDate = value; }
        }

        public virtual decimal Number
        {
            get { return _number; }
            set { _number = value; }
        }

        public virtual decimal UnitCost
        {
            get { return _unitCost; }
            set { _unitCost = value; }
        }


        public virtual Corporation Corporation
        {
            get { return _corporation; }
            set { _corporation = value; }
        }

        public virtual Stock Stock
        {
            get { return _stock; }
            set { _stock = value; }
        }

        public virtual WareHouse WareHouse
        {
            get { return _wareHouse; }
            set { _wareHouse = value; }
        }

        #endregion
    }
    #endregion
}